package java;
import org.junit.Test;
public class StringTest2 {
    /*
    * String的实例化方式:
    *方式1：通过字面量定义的方式
    * 方式2：通过new+构造器的方式
    * */
    @Test
    public void test02(){
        //此时s1和s2是声明在方法区中的常量池中
        String s1="javaEe";
        String s2="javaEe";
        //此时s3和s4保存的地址值，是数据在堆空间中开辟空间以后的对应地址值
        String s3=new String("javaEe");
        String s4=new String("javaEe");

        System.out.println(s1==s2); //true,在常量池中
        System.out.println(s1==s3); //false,一个在方法区，一个在堆空间
        System.out.println(s1==s4);//false,一个在方法区，一个在堆空间
        System.out.println(s3==s4); //false,两个都在堆空间，但是都是独立开辟的
    }
}
